 DIALMAIL. (c) SWA corp. (e-mail:SWA@list.ru)

//==========================================================================
/// ,  .
//==========================================================================

: (...) ( RasDial); 
        (...),(...) ( POP3);
        (...),(...) ( SMTP);
        (...),(...) ( FTP);
  <>=1   
 .     1  
  (,,).
        
() ( RasDial),
() ( POP3), 
()  ( SMTP),
()     ( FTP).

         :
   -  . ..       
,        ((...)).


//==========================================================================
///  .
//==========================================================================

(<>,<>,<>)

//-------------------------------------------------------------------------
1) RasDial: 
<>="RASDIAL"
<> -    .   ,    .
            (, "8193","-692")
<> -     
            (, "123454: ")

       <>
(    , 
  <>  )


:      
            -
----------------------------------------------------------------------
|                 |     |              |
----------------------------------------------------------------------
RASCS_OpenPort                  0            
RASCS_PortOpened                1            
RASCS_ConnectDevice             2            
RASCS_DeviceConnected           3            
RASCS_AllDevicesConnected       4             
RASCS_Authenticate              5            
RASCS_AuthNotify                6           : 
RASCS_AuthRetry                 7           : 
RASCS_AuthCallback              8           :  
RASCS_AuthChangePassword        9           :  
                                            
RASCS_AuthProject               10          : 
RASCS_AuthLinkSpeed             11          : 
                                              
RASCS_AuthAck                   12          Authentication: 
                                            acknowledge
RASCS_ReAuthenticate            13          Authentication: 
                                            reauthenticate
RASCS_Authenticated             14           
RASCS_PrepareForCallback        15             
RASCS_WaitForModemReset         16            
RASCS_WaitForCallback           17            
RASCS_Projected                 18          Projected
RASCS_StartAuthentication       19           
RASCS_CallbackComplete          20            
RASCS_LogonNetwork              21            
RASCS_Interactive               4096        Interactive
RASCS_RetryAuthentication       4097         
RASCS_CallbackSetByCaller       4098        Callback set by caller
RASCS_PasswordExpired           4099          
RASCS_Connected                 8192         
RASCS_Disconnected              8193         
RASCS_DisconnectedByUser        8449          
                                            (  ())
RASCS_DisconnectedBySystem      8450           
                                            



:     ,  
              
----------------------------------------------------------------------
|                 |      | ()|
----------------------------------------------------------------------
PENDING                             -600
ERROR_INVALID_PORT_HANDLE           -601
ERROR_PORT_ALREADY_OPEN             -602
ERROR_BUFFER_TOO_SMALL              -603
ERROR_WRONG_INFO_SPECIFIED          -604
ERROR_CANNOT_SET_PORT_INFO          -605
ERROR_PORT_NOT_CONNECTED            -606
ERROR_EVENT_INVALID                 -607
ERROR_DEVICE_DOES_NOT_EXIST         -608
ERROR_DEVICETYPE_DOES_NOT_EXIST     -609
ERROR_BUFFER_INVALID                -610
ERROR_ROUTE_NOT_AVAILABLE           -611
ERROR_ROUTE_NOT_ALLOCATED           -612
ERROR_INVALID_COMPRESSION_SPECIFIED -613
ERROR_OUT_OF_BUFFERS                -614
ERROR_PORT_NOT_FOUND                -615
ERROR_ASYNC_REQUEST_PENDING         -616
ERROR_ALREADY_DISCONNECTING         -617
ERROR_PORT_NOT_OPEN                 -618
ERROR_PORT_DISCONNECTED             -619
ERROR_NO_ENDPOINTS                  -620
ERROR_CANNOT_OPEN_PHONEBOOK         -621
ERROR_CANNOT_LOAD_PHONEBOOK         -622
ERROR_CANNOT_FIND_PHONEBOOK_ENTRY   -623
ERROR_CANNOT_WRITE_PHONEBOOK        -624
ERROR_CORRUPT_PHONEBOOK             -625
ERROR_CANNOT_LOAD_STRING            -626
ERROR_KEY_NOT_FOUND                 -627
ERROR_DISCONNECTION                 -628
ERROR_REMOTE_DISCONNECTION          -629
ERROR_HARDWARE_FAILURE              -630
ERROR_USER_DISCONNECTION            -631
ERROR_INVALID_SIZE                  -632
ERROR_PORT_NOT_AVAILABLE            -633
ERROR_CANNOT_PROJECT_CLIENT         -634
ERROR_UNKNOWN                       -635
ERROR_WRONG_DEVICE_ATTACHED         -636
ERROR_BAD_STRING                    -637
ERROR_REQUEST_TIMEOUT               -638
ERROR_CANNOT_GET_LANA               -639
ERROR_NETBIOS_ERROR                 -640
ERROR_SERVER_OUT_OF_RESOURCES       -641
ERROR_NAME_EXISTS_ON_NET            -642
ERROR_SERVER_GENERAL_NET_FAILURE    -643
WARNING_MSG_ALIAS_NOT_ADDED         -644
ERROR_AUTH_INTERNAL                 -645
ERROR_RESTRICTED_LOGON_HOURS        -646
ERROR_ACCT_DISABLED                 -647
ERROR_PASSWD_EXPIRED                -648
ERROR_NO_DIALIN_PERMISSION          -649
ERROR_SERVER_NOT_RESPONDING         -650
ERROR_FROM_DEVICE                   -651
ERROR_UNRECOGNIZED_RESPONSE         -652
ERROR_MACRO_NOT_FOUND               -653
ERROR_MACRO_NOT_DEFINED             -654
ERROR_MESSAGE_MACRO_NOT_FOUND       -655
ERROR_DEFAULTOFF_MACRO_NOT_FOUND    -656
ERROR_FILE_COULD_NOT_BE_OPENED      -657
ERROR_DEVICENAME_TOO_LONG           -658
ERROR_DEVICENAME_NOT_FOUND          -659
ERROR_NO_RESPONSES                  -660
ERROR_NO_COMMAND_FOUND              -661
ERROR_WRONG_KEY_SPECIFIED           -662
ERROR_UNKNOWN_DEVICE_TYPE           -663
ERROR_ALLOCATING_MEMORY             -664
ERROR_PORT_NOT_CONFIGURED           -665
ERROR_DEVICE_NOT_READY              -666
ERROR_READING_INI_FILE              -667
ERROR_NO_CONNECTION                 -668
ERROR_BAD_USAGE_IN_INI_FILE         -669
ERROR_READING_SECTIONNAME           -670
ERROR_READING_DEVICETYPE            -671
ERROR_READING_DEVICENAME            -672
ERROR_READING_USAGE                 -673
ERROR_READING_MAXCONNECTBPS         -674
ERROR_READING_MAXCARRIERBPS         -675
ERROR_LINE_BUSY                     -676      
                                            ( )
ERROR_VOICE_ANSWER                  -677
ERROR_NO_ANSWER                     -678       
                                            (   
                                              )
ERROR_NO_CARRIER                    -679
ERROR_NO_DIALTONE                   -680     
                                            (-   
                                             )
ERROR_IN_COMMAND                    -681
ERROR_WRITING_SECTIONNAME           -682
ERROR_WRITING_DEVICETYPE            -683
ERROR_WRITING_DEVICENAME            -684
ERROR_WRITING_MAXCONNECTBPS         -685
ERROR_WRITING_MAXCARRIERBPS         -686
ERROR_WRITING_USAGE                 -687
ERROR_WRITING_DEFAULTOFF            -688
ERROR_READING_DEFAULTOFF            -689
ERROR_EMPTY_INI_FILE                -690
ERROR_AUTHENTICATION_FAILURE        -691
ERROR_PORT_OR_DEVICE                -692        
                                              
                                              
                                            ( )
ERROR_NOT_BINARY_MACRO              -693
ERROR_DCB_NOT_FOUND                 -694
ERROR_STATE_MACHINES_NOT_STARTED    -695
ERROR_STATE_MACHINES_ALREADY_STARTED-696
ERROR_PARTIAL_RESPONSE_LOOPING      -697
ERROR_UNKNOWN_RESPONSE_KEY          -698
ERROR_RECV_BUF_FULL                 -699
ERROR_CMD_TOO_LONG                  -700
ERROR_UNSUPPORTED_BPS               -701
ERROR_UNEXPECTED_RESPONSE           -702
ERROR_INTERACTIVE_MODE              -703
ERROR_BAD_CALLBACK_NUMBER           -704
ERROR_INVALID_AUTH_STATE            -705
ERROR_WRITING_INITBPS               -706
ERROR_X25_DIAGNOSTIC                -707
ERROR_ACCT_EXPIRED                  -708
ERROR_CHANGING_PASSWORD             -709
ERROR_OVERRUN                       -710
ERROR_RASMAN_CANNOT_INITIALIZE      -711
ERROR_BIPLEX_PORT_NOT_AVAILABLE     -712
ERROR_NO_ACTIVE_ISDN_LINES          -713
ERROR_NO_ISDN_CHANNELS_AVAILABLE    -714
ERROR_TOO_MANY_LINE_ERRORS          -715
ERROR_IP_CONFIGURATION              -716
ERROR_NO_IP_ADDRESSES               -717
ERROR_PPP_TIMEOUT                   -718      
                                             
                                            (   
                                            )
ERROR_PPP_REMOTE_TERMINATED         -719
ERROR_PPP_NO_PROTOCOLS_CONFIGURED   -720
ERROR_PPP_NO_RESPONSE               -721
ERROR_PPP_INVALID_PACKET            -722
ERROR_PHONE_NUMBER_TOO_LONG         -723
ERROR_IPXCP_NO_DIALOUT_CONFIGURED   -724
ERROR_IPXCP_NO_DIALIN_CONFIGURED    -725
ERROR_IPXCP_DIALOUT_ALREADY_ACTIVE  -726
ERROR_ACCESSING_TCPCFGDLL           -727
ERROR_NO_IP_RAS_ADAPTER             -728
ERROR_SLIP_REQUIRES_IP              -729
ERROR_PROJECTION_NOT_COMPLETE       -730
ERROR_PROTOCOL_NOT_CONFIGURED       -731
ERROR_PPP_NOT_CONVERGING            -732
ERROR_PPP_CP_REJECTED               -733
ERROR_PPP_LCP_TERMINATED            -734
ERROR_PPP_REQUIRED_ADDRESS_REJECTED -735
ERROR_PPP_NCP_TERMINATED            -736
ERROR_PPP_LOOPBACK_DETECTED         -737
ERROR_PPP_NO_ADDRESS_ASSIGNED       -738
ERROR_CANNOT_USE_LOGON_CREDENTIALS  -739
ERROR_TAPI_CONFIGURATION            -740
ERROR_NO_LOCAL_ENCRYPTION           -741
ERROR_NO_REMOTE_ENCRYPTION          -742
ERROR_REMOTE_REQUIRES_ENCRYPTION    -743
ERROR_IPXCP_NET_NUMBER_CONFLICT     -744
ERROR_INVALID_SMM                   -745
ERROR_SMM_UNINITIALIZED             -746
ERROR_NO_MAC_FOR_PORT               -747
ERROR_SMM_TIMEOUT                   -748
ERROR_BAD_PHONE_NUMBER              -749
ERROR_WRONG_MODULE                  -750


//-------------------------------------------------------------------------
2) POP3:
      
      
  "DONE", "TERMINATE",   "ERROR".

<>="POP3"
----------------------------------------------------------------
|<>   |<>             | ()  |
----------------------------------------------------------------
RECEIVE       BEGIN                   ()
                                    
RECEIVE       DONE                    ()
                                    
RECEIVE       <i1>:<i2>              i2  
                                      i1  (i1 - 
                                       )
RECEIVE       <hndl>:TERMINATING       
                                     ()
RECEIVE       <hndl>:TERMINATED       
                                    -  ()
RECEIVED      <i>                    i- 
ERROR         GIVE MAIL                
ERROR         DELETE MAIL                
                                    


//-------------------------------------------------------------------------
3) SMTP:
      
       
  "DONE", "TERMINATE"   ERROR.

<>="SMTP"
----------------------------------------------------------------
|<>   |<>             | ()  |
----------------------------------------------------------------
SEND          BEGIN                   ()
                                    
SEND          DONE                    ()
                                    
SEND          <i1>:<i2>              i2  
                                      i1  (i1 - 
                                       )
SEND          <hndl>:TERMINATING       
                                     ()
SEND          <hndl>:TERMINATED       
                                    -  ()
SENDED        <i>                    i- 
ERROR         SOCKET ERROR           . (. 
                                    "")
ERROR         EXTRACT MAIL             
                                     from,to,cc-
ERROR         FROM OR SIZE          .  
                                    from,   
ERROR         MAIL DATA                
                                    
ERROR         TO                       to ()
ERROR         CC                       cc ()


//-------------------------------------------------------------------------
4) FTP:
      .
  /    
   "DONE", "TERMINATE",   "ERROR".

<>="FTP"
<> -     
            (, "123454:TERMINATED")

----------------------------------------------------------------
|<>   |<>             | ()  |
----------------------------------------------------------------
RECEIVE       <hndl>:BEGIN            () c 
                                    ftp     hndl 
                                    
RECEIVE       <hndl>:DONE             () 
                                    ftp      hndl 
                                    
RECEIVE       <hndl>:<i1>:<i2>           
                                    hndl i2  
                                      i1  (i1 - 
                                       )
RECEIVE       <hndl>:TERMINATING       
                                     ()
RECEIVE       <hndl>:TERMINATED       
                                    -  ()
RECEIVED      <hndl>:<i>                 
                                    hndl i- 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
SEND          <hndl>:BEGIN            () 
                                    ftp     hndl 
                                    
SEND          <hndl>:DONE             () 
                                    ftp      hndl 
                                    
SEND          <hndl>:<i1>:<i2>           
                                    hndl i2  
                                      i1  (i1 - 
                                       )
SEND          <hndl>:TERMINATING       
                                     ()
SEND          <hndl>:TERMINATED       
                                    -  ()
SENDED        <hndl>:<i>                 
                                    hndl i- 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
ERROR         <hndl>:SOCKET ERROR    . (. 
                                    "")

                               

 DIALMAIL. (c) SWA corp. (e-mail:SWA@list.ru)